/**
 * 分页查询工艺列表请求参数类型
 */
export interface ProcessListPageParams extends PageCommonParams {
    /**
     * 创建时间
     */
    beginTime?: string;
    /**
     * 创建人
     */
    creator?: string;
    /**
     * 当前页
     */
    current?: number;
    /**
     * 创建时间
     */
    endTime?: string;
    /**
     * 物料编码
     */
    materialCode?: string;
    /**
     * 工艺路线编码
     */
    processRouteCode?: string;
    /**
     * 工艺路线名称
     */
    processRouteName?: string;
}

export interface ProcessListPageResponse extends ResponseListCommon<ProcessListListInfo> {}

/**
 * 工艺列表类型
 */
export interface ProcessListListInfo {
    /**
     * 创建时间
     */
    createTime?: Date;
    /**
     * 创建人
     */
    creator?: string;
    /**
     * 主键
     */
    id?: number;
    /**
     * 物料编码
     */
    materialCode?: string;
    /**
     * 工序列表
     */
    processIdCollection?: string;
    /**
     * 工艺路线
     */
    processRoute?: string;
    /**
     * 工艺路线编码
     */
    processRouteCode?: string;
    /**
     * 工艺路线描述
     */
    processRouteDesc?: string;
    /**
     * 工艺路线名称
     */
    processRouteName?: string;
    /**
     * 备注
     */
    remarks?: string;
    /**
     * 工艺备注
     */
    processRemark?: boolean;
}

/**
 * 新增工艺列表
 */
export interface ProcessListModal {
    [key: string]: any;
    /**
     * 物料编码
     */
    materialCode: string | null;
    /**
     * 物料id
     */
    materialId: number;
    /**
     * 工艺路线编码
     */
    processRouteCode: string | null;
    /**
     * 工艺路线描述
     */
    processRouteDesc: string | null;
    /**
     * 工艺路线id
     */
    processRouteId?: number;
    /**
     * 工艺路线名称
     */
    processRouteName: string | null;
    /**
     * 备注
     */
    remarks: string | null;
    /**
     * 工艺工序
     */
    technologicalProcess?: TechnologicalProcessDTO[];
}

/**
 * TechnologicalProcessDTO，工艺工序
 */
export interface TechnologicalProcessDTO {
    /**
     * 工序编码
     */
    processCode: string;
    /**
     * 工艺工序设备
     */
    processEquipments?: ProcessEquipmentDTO[];
    /**
     * 工序id
     */
    processId: number;
    /**
     * 加工内容
     */
    processingContent?: string;
    /**
     * 工序名称
     */
    processName: string;
    /**
     * 工序编码
     */
    processNumber: number;
    /**
     * 换型时间
     */
    replacementTime: number;
    /**
     * 转运批量
     */
    transshipmentBatch: number;
    /**
     * 转运时间
     */
    transshipmentTime: number;
    workingProcedureList?: ProcessEquipmentDTO[];
}

/**
 * ProcessEquipmentDTO，工艺工序设备
 */
export interface ProcessEquipmentDTO {
    [key: string]: any;
    /**
     * 辅助资料编码
     */
    auxiliaryDataCoding: string;
    /**
     * 辅助资料id
     */
    auxiliaryDataId: number;
    /**
     * 设备编码
     */
    equipmentCode: string;
    /**
     * 设备id
     */
    equipmentId: number;
    /**
     * 加工批量
     */
    processingBatch: number;
    /**
     * 生产节拍
     */
    productionBeat: number;
    equipmentNumber: string;
    auxiliaryId: number;
}

/**
 * 工序列表查询参数类型
 */
export interface ProcedurePageParams {
    /**
     * 开始时间
     */
    beginTime?: string;
    /**
     * 创建人
     */
    creator?: string;
    /**
     * 当前页
     */
    current?: number;
    /**
     * 结束时间
     */
    endTime?: string;
    /**
     * 工序编码
     */
    procedureCode?: string;
    /**
     * 工序名称
     */
    procedureName?: string;
    /**
     * 每页显示条数，默认 10
     */
    size?: number;
}

/**
 * 工序列表数据类型
 */
export interface ProcedurePageResponse extends ResponseListCommon<WorkingProcedureVO> {}
export interface WorkingProcedureVO {
    [key: string]: any;
    /**
     * 创建时间
     */
    createTime?: Date;
    /**
     * 创建人
     */
    creator?: string;
    /**
     * 主键
     */
    id?: number;
    /**
     * 工序编码
     */
    processCode?: string;
    /**
     * 工序名称
     */
    processName?: string;
    /**
     * 备注
     */
    remark?: string;
    /**
     * 辅助编码列表
     */
    workingProcedureAuxiliary?: WorkingProcedureAuxiliaryDTO[];
    /**
     * 设备编码列表
     */
    workingProcedureEquipments?: WorkingProcedureEquipmentDTO[];
}

/**
 * WorkingProcedureAuxiliaryDTO，工序辅助实体
 */
export interface WorkingProcedureAuxiliaryDTO {
    /**
     * 辅助编码
     */
    auxiliaryDataCoding: string | null;
    /**
     * 辅助id
     */
    auxiliaryId: number | null;
    /**
     * 辅助资源名称
     */
    auxiliaryResourceName: string | null;
}

/**
 * WorkingProcedureEquipmentDTO，工序设备实体
 */
export interface WorkingProcedureEquipmentDTO {
    [key: string]: any;
    deviceName: string;
    /**
     * 设备id
     */
    equipmentId: string | number;
    /**
     * 设备编码
     */
    equipmentNumber: string;
    /**
     * 辅助资源
     */
    workingProcedureAuxiliary: WorkingProcedureAuxiliaryDTO[] | null;
}

/**
 * 物料管理列表
 */
export interface MaterialListPageResponse extends ResponseListCommon<MaterialChooseVO> {}
export interface MaterialChooseVO {
    [key: string]: any;
    /**
     * 主键
     */
    id?: number | string;
    /**
     * 是否被使用
     */
    isUse?: boolean;
    /**
     * 物料编码
     */
    materialCode?: string;
    /**
     * 物料名称
     */
    materialName?: string;
    /**
     * 规格型号
     */
    materialSpecification?: string;
    /**
     * 物料单位
     */
    unit?: string;
}
